import 'package:flutter_structure/modules/user/models/userinfo_model.dart';
import 'package:get/get.dart';
import 'package:get_storage/get_storage.dart';

class UserController extends GetxController {
  static UserController get to => Get.find(); // 全局访问实例

  final GetStorage _storage = GetStorage("user_box"); // 本地存储实例


  // 用户信息
  final Rx<UserinfoModel> userInfo = UserinfoModel().obs;


  // 检查是否已登录（是否有 token）
  bool get isLoggedIn {
    return userInfo.value.token.isNotEmpty;
  }

  // 是否是 VIP
  bool get isPro => userInfo.value.isPro;

  // 更新用户信息
  void updateUserInfo(UserinfoModel newUserInfo) {
    userInfo.value = newUserInfo;
    saveUserInfo();
  }

  // 保存用户信息到本地
  void saveUserInfo() {
    _storage.write('userInfo', userInfo.value.toJson());
  }

  @override
  void onInit() {
    super.onInit();
    // 初始化用户信息（从本地存储加载）
    final storedUserInfo = _storage.read('userInfo');
    if (storedUserInfo != null) {
      userInfo.value = UserinfoModel.fromJson(storedUserInfo);
    }
  }
}